---
sidebar_position: 0
---

# 代理类型 agent_types

![LangChain](https://pica.zhimg.com/50/v2-56e8bbb52aa271012541c1fe1ceb11a2_r.gif 'LangChain中文网')


## 行动代理

代理使用 LLM 确定采取哪些行动以及顺序。
行动可以是使用工具并观察其输出，或向用户返回响应。
以下是 LangChain 中可用的代理。

### [零-shot ReAct](/docs/modules/agents/agent_types/react.html)

此代理使用 [ReAct](https://arxiv.org/pdf/2205.00445.pdf) 框架确定使用哪个工具
仅基于工具的描述。可以提供任意数量的工具。
此代理要求为每个工具提供描述。

**注意**：这是最通用的行动代理。

### [结构化输入 ReAct](/docs/modules/agents/agent_types/structured_chat.html)

结构化工具聊天代理能够使用多个输入工具。
旧的代理配置为将行动输入指定为单个字符串，但此代理可以使用工具的参数
模式创建结构化行动输入。这对于更复杂的工具使用很有用，例如精确
导航浏览器。

### [OpenAI 函数](/docs/modules/agents/agent_types/openai_functions_agent.html)

特定的 OpenAI 模型（如 gpt-3.5-turbo-0613 和 gpt-4-0613）已被明确微调，以检测何时
应调用函数，并响应应该传递给函数的输入。
OpenAI 函数代理旨在与这些模型配合使用。

### [对话型](/docs/modules/agents/agent_types/chat_conversation_agent.html)

此代理旨在用于对话环境。
提示旨在使代理有帮助性和对话性。
它使用 ReAct 框架决定使用哪个工具，并使用内存记住先前的对话交互。

### [带搜索的自问自答](/docs/modules/agents/agent_types/self_ask_with_search.html)

此代理利用一个名为 `Intermediate Answer` 的单个工具。
此工具应该能够查找问题的事实性答案。此代理
等同于原始的 [self ask with search paper](https://ofir.io/self-ask.pdf)，
其中提供了一个 Google 搜索 API 作为工具。

### [ReAct 文档存储](/docs/modules/agents/agent_types/react_docstore.html)

此代理使用 ReAct 框架与文档存储进行交互。必须提供两个工具
：一个 `Search` 工具和一个 `Lookup` 工具（必须准确命名）。
`Search` 工具应搜索文档，而 `Lookup` 工具应在最近找到的文档中查找
术语。
此代理等同于
原始的 [ReAct 论文](https://arxiv.org/pdf/2210.03629.pdf)，特别是维基百科示例。

## [计划和执行代理](/docs/modules/agents/agent_types/plan_and_execute.html)
计划和执行代理通过首先规划要做什么，然后执行子任务来实现目标。这个想法主要受到 [BabyAGI](https://github.com/yoheinakajima/babyagi) 的启发，然后是 ["计划与解决" 论文](https://arxiv.org/abs/2305.04091)。
